package com.easylinkin.linkappapi.safe.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easylinkin.linkappapi.common.model.RequestModel;
import com.easylinkin.linkappapi.safe.dto.InspectionTaskDTO;
import com.easylinkin.linkappapi.safe.entity.InspectionPlan;
import com.easylinkin.linkappapi.safe.entity.InspectionTask;

/**
 * <p>
 * 闸机表 服务类
 * </p>
 *
 * @author TongJie
 * @since 2022-04-13
 */
public interface InspectionTaskService extends IService<InspectionTask> {

  IPage<InspectionTaskDTO> queryListByPage(RequestModel<InspectionTaskDTO> requestModel);

  /**
   * 增加
   * @param inspectionTask
   */
  void insert(InspectionTask inspectionTask);

  /**
   * 根据id编辑
   * @param inspectionTask
   */
  void updateOne(InspectionTask inspectionTask);

  IPage<InspectionTaskDTO> queryList(RequestModel<InspectionTaskDTO> requestModel);

  InspectionTaskDTO findById(Integer id);

  /**
   * 状态计算
   */
  void computeStatus(Integer id);

  /**
   * 生成任务项
   * @param plan
   * @param flag true表示为日常检查
   */
  void insertByPlan(InspectionPlan plan,Boolean flag);
}
